﻿/*----------------------------------------------------------------
// Copyright (C) 年份 北京大象科技有限公司
// 版权所有。 	
//
// 文件名：IScheduleClientService.cs
// 文件功能描述：
//
//
// 创建标识：gaohongwei 2016/10/21 9:23:00
//
// 修改标识：
// 修改描述：
//
// 修改标识：
// 修改描述：
//----------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using ET.Score.Service.Dtos;

namespace ET.Score.Service.Interfaces
{
    /// <summary>
    /// 调度客户端使用的服务接口
    /// </summary>
    [ServiceContract]
    public interface IDispatcherClientService
    {
        /// <summary>
        /// 获取任务信息等服务器命令的接口
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        [OperationContract]
        DispatcherClientMessage GetMessage(int userid);

        /// <summary>
        /// 开始任务
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="taskguid">任务id</param>
        [OperationContract]
        void StartTask(int userid, long taskguid);

        /// <summary>
        /// 结束任务
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="taskguid"></param>
        [OperationContract]
        void StopTask(int userid, long taskguid,string filename);
        
        /// <summary>
        /// 清除客户端所有任务
        /// </summary>
        [OperationContract]
        void DeleteAllTask(int userid);

        /// <summary>
        /// 发送任务
        /// </summary>
        /// <param name="tasklst"></param>
        [OperationContract]
        void SendTestTask(int userid, List<TestOperSetDto> tasklst);

        ///// <summary>
        ///// 上传录屏文件
        ///// </summary>
        ///// <param name="taskguid"></param>
        ///// <param name="userId"></param>
        ///// <param name="viewPath"></param>
        //[OperationContract]
        //void UploadTaskView(long taskguid, int userId, string viewPath);


    }
}
